package com.young.springboot.context;

import com.young.common.context.ContextConstants;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.Map;

/**
 * @description：
 * @author: yangyahui01
 * @date: 11/29/24 2:05 PM
 */
@ConfigurationProperties("spring.application")
public final class ContextProperties {

    private String name;//项目名

    private String project;//项目名，同name

    private String cloud;//云平台，比如aws、aliyun

    private String group;//集群名称

    //如果用户指定了多个profiles，
    //我们将选择其中一个作为标识（从activeProfiles中获取最后一个）
    //此值也是框架使用的标准profile：test/dev/prod/pre
    private String preferProfile;

    //用户指定的，或者非标准的profile字面值
    private String profile;

    private String env;

    //全局静态属性，对于尚未提供setter方法的属性，可以通过此处指定。
    private Map<String, String> globalProperties;

    private String charset = ContextConstants.DEFAULT_CHARSET;

    private String initStatus;//项目初始化状态

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCloud() {
        return cloud;
    }

    public void setCloud(String cloud) {
        this.cloud = cloud;
    }

    public String getGroup() {
        return group;
    }

    public void setGroup(String group) {
        this.group = group;
    }

    public String getCharset() {
        return charset;
    }

    public void setCharset(String charset) {
        this.charset = charset;
    }

    public String getProject() {
        return project;
    }

    public void setProject(String project) {
        this.project = project;
    }

    public void setGlobalProperties(Map<String, String> globalProperties) {
        this.globalProperties = globalProperties;
    }

    public Map<String, String> getGlobalProperties() {
        return globalProperties;
    }

    public String getPreferProfile() {
        return preferProfile;
    }

    public void setPreferProfile(String preferProfile) {
        this.preferProfile = preferProfile;
    }

    public String getEnv() {
        return env;
    }

    public void setEnv(String env) {
        this.env = env;
    }

    public String getInitStatus() {
        return initStatus;
    }

    public void setInitStatus(String initStatus) {
        this.initStatus = initStatus;
    }

    public String getProfile() {
        return profile;
    }

    public void setProfile(String profile) {
        this.profile = profile;
    }
}
